home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 26 / Cream of the Crop 26.iso / os2 / pvm34b3.zip / pvm34b3 / pvm3 / lib / pvmgetarch.os2 < prev    next >
Text File  |  1997-08-06  |  5KB  |  227 lines

  1. #!/bin/sh
  2. #
  3. # $Id: pvmgetarch,v 1.8 1997/07/21 20:53:42 pvmsrc Exp $
  4. #
  5. # pvmgetarch.sh
  6. #
  7. # Generate PVM architecture string.
  8. #
  9. # This is a heuristic thing that may need to be tuned from time
  10. # to time.  I don't know of a real solution to determining the
  11. # machine type.
  12. #
  13. # Notes:
  14. #   1. Local people mess with things.
  15. #   2. It's good to try a few things for robustness.
  16. #   3. Don't use test -x
  17. #
  18. # 08 Apr 1993  Robert Manchek  manchek@CS.UTK.EDU.
  19. # 24 Aug 1994  last revision
  20. # 28 Jul 1995  release 3.3.8
  21. #
  22.  
  23. #
  24. # begin section that may need to be tuned.
  25. #
  26. ARCH=UNKNOWN
  27.  
  28. #
  29. # determine the machine type from scratch
  30. #
  31. if [ -f /bin/uname.exe -o -f /usr/bin/uname.exe ]; then
  32.     if [ -f /bin/uname.exe ]; then
  33.         os="`/bin/uname -s`"
  34.         ht="`/bin/uname -m`"
  35.         ov="`/bin/uname -v`"
  36.     else
  37.         os="`/usr/bin/uname -s`"
  38.         ht="`/usr/bin/uname -m`"
  39.         ov="`/usr/bin/uname -v`"
  40.     fi
  41.  
  42.     case "$os,$ht" in
  43.     SunOS,sun3* )           ARCH=SUN3 ;;
  44.     SunOS,sun4* )           ARCH=SUN4 ;;
  45.     SunOS,i86pc )           ARCH=X86SOL2 ;;
  46.     ULTRIX,RISC )           ARCH=PMAX ;;
  47.     ULTRIX,VAX )            ARCH=UVAX ;;
  48.     AIX*,* )                ARCH=RS6K ;;
  49.     *HP*,9000/[2345]* )     ARCH=HP300 ;;
  50.     *HP*,9000/[78]* )       ARCH=HPPA ;;
  51.     IRIX,* )                ARCH=SGI ;;
  52.     IRIX64,* )              ARCH=SGI64 ;;
  53.     *,alpha )               ARCH=ALPHA ;;
  54.     CRSOS,smp )             ARCH=CRAYSMP ;;
  55.     *,paragon )             ARCH=PGON ;;
  56.     dgux,AViiON )           ARCH=DGAV ;;
  57.     *,88k )                 ARCH=E88K ;;
  58.     *,mips )                ARCH=MIPS ;;
  59.     *,CRAY-2 )              ARCH=CRAY2 ;;
  60.     Linux,i[3456]86 )       ARCH=LINUX ;;
  61.     Linux,sparc)        ARCH=LINUXSPARC ;;
  62.     BSD/OS,i[3456]86 )      ARCH=BSD386 ;;
  63.     FreeBSD,i386 )          ARCH=FREEBSD ;;
  64.     SUPER-UX,SX-3 )         ARCH=SX3 ;;
  65.     uts,* )                 ARCH=UTS2 ;;
  66.     realix,M88* )           ARCH=M88K ;;
  67.     DomainOS,DN* )          ARCH=APOLLO ;;
  68.         OS/2,i[3456]86 )        ARCH=OS2 ;; 
  69.     esac
  70. fi
  71.  
  72. if [ "$ARCH" = UNKNOWN ]; then
  73.     if [ -f /bin/arch ]; then
  74.         case "`/bin/arch`" in
  75.         ksr1 ) ARCH=KSR1 ;;
  76.         sun2 ) ARCH=SUN2 ;;
  77.         sun3 ) ARCH=SUN3 ;;
  78.         sun4 ) ARCH=SUN4 ;;
  79.         esac
  80.     fi
  81. fi
  82.  
  83. if [ "$ARCH" = UNKNOWN ]; then
  84.  
  85.     if [ -f /usr/etc/RELDEF ]; then ARCH=ATT; fi
  86.  
  87.     if [ -f /ultrixboot ]; then
  88.         if [ -f /pcs750.bin ]; then
  89.             ARCH=UVAX
  90.         else
  91.             ARCH=PMAX
  92.         fi
  93.     else
  94.         if [ -f /pcs750.bin ]; then ARCH=VAX; fi
  95.     fi
  96.  
  97.     if [ -d /usr/alliant ]; then ARCH=AFX8; fi
  98.     if [ -f /usr/bin/cluster ]; then ARCH=BFLY; fi
  99.     if [ -d /usr/convex ]; then ARCH=CNVX; fi
  100.     if [ -f /unicos ]; then ARCH=CRAY; fi
  101.     if [ -f /hp-ux ]; then ARCH=HP300; fi
  102.     if [ -f /usr/bin/getcube ]; then ARCH=I860; fi
  103.     if [ -f /usr/bin/asm56000 ]; then ARCH=NEXT; fi
  104.     if [ -f /etc/vg ]; then ARCH=RS6K; fi
  105.     if [ -d /usr/include/caif ]; then ARCH=RT; fi
  106.     if [ -f /bin/4d ]; then ARCH=SGI; fi
  107.     if [ -f /dynix ]; then ARCH=SYMM; fi
  108.     if [ -f /bin/titan ]; then ARCH=TITN; fi
  109.  
  110.     if [ -f /netbsd ]; then
  111.         case "`/usr/bin/machine`" in
  112.         i386)   ARCH=NETBSDI386 ;;
  113.         amiga)  ARCH=NETBSDAMIGA ;;
  114.         hp300)  ARCH=NETBSDHP300 ;;
  115.         mac68k) ARCH=NETBSDMAC68K ;;
  116.         pmax)   ARCH=NETBSDPMAX ;;
  117.         sparc)  ARCH=NETBSDSPARC ;;
  118.         sun3)   ARCH=NETBSDSUN3 ;;
  119.         esac
  120.     elif [ -f /usr/bin/machine ]; then
  121.         case "`/usr/bin/machine`" in
  122.         i386 ) ARCH=BSD386 ;;
  123.         esac
  124.     fi
  125.     if [ -f /usr/bin/uxpm ] && /usr/bin/uxpm ; then
  126.         ARCH=UXPM
  127.     fi
  128. fi
  129.  
  130. if [ "$ARCH" = UNKNOWN ]; then
  131.     if [ -f /bin/uname -o -f /usr/bin/uname ]; then
  132.         if [ -f /bin/uname ]; then
  133.             os="`/bin/uname -s`"
  134.             ht="`/bin/uname -m`"
  135.             rv="`/bin/uname -r`"
  136.         else
  137.             os="`/usr/bin/uname -s`"
  138.             ht="`/usr/bin/uname -m`"
  139.             rv="`/usr/bin/uname -r`"
  140.         fi
  141.  
  142.         case "$os,$ht" in
  143.         *,i[3456]86 )    case "$rv" in
  144.                 4.*) ARCH=UWARE ;;
  145.                 *) ARCH=SCO ;;
  146.                 esac
  147.         esac
  148.     fi
  149. fi
  150.  
  151. #
  152. # update the machine type to derive subclasses
  153. #
  154. if [ "$ARCH" = SUN4 ]; then
  155.     rel="`/bin/uname -r`"
  156.     case "$rel" in
  157.     5.* )   ARCH=SUN4SOL2 ;;
  158.     esac
  159. fi
  160. if [ "$ARCH" = SUN4SOL2 ]; then
  161.     nproc="`/bin/mpstat | wc -l`"
  162.     if [ $nproc -gt 2 -a "$PVM_SHMEM" = ON ];
  163.         then ARCH=SUNMP;
  164.     fi
  165. fi
  166. if [ "$ARCH" = ALPHA ]; then
  167.     rel="`/usr/bin/uname -r`"
  168.     case "$rel" in
  169.     *[34].*)
  170.         nproc="`/usr/sbin/sizer -p`"
  171.         if [ $nproc -gt 1 -a "$PVM_SHMEM" = ON ];
  172.             then ARCH=ALPHAMP;
  173.         fi ;;
  174.     esac
  175. fi
  176. if [ "$ARCH" = SGI ]; then
  177.     rel="`/bin/uname -r`"
  178.     case "$rel" in
  179.     5.* )   ARCH=SGI5 ;;
  180.     6.* )   ARCH=SGI5 ;;
  181.     esac
  182. fi
  183. if [ "$ARCH" = SGI64 ]; then
  184.     nproc="`/usr/sbin/mpadmin -n | wc -w`"
  185.     if [ $nproc -gt 1 -a "$PVM_SHMEM" = ON ];
  186.         then ARCH=SGIMP64;
  187.     fi
  188. fi
  189. if [ "$ARCH" = SGI5 ]; then
  190.     nproc="`/usr/sbin/mpadmin -n | wc -w`"
  191.     if [ $nproc -gt 1 -a "$PVM_SHMEM" = ON ];
  192.         then ARCH=SGIMP;
  193.     fi
  194. fi
  195. if [ "$ARCH" = SUN4 -a -f /dev/cm ]; then ARCH=CM2; fi
  196. if [ "$ARCH" = SUN4 -a -f /dev/cmni ]; then ARCH=CM5; fi
  197. if [ "$ARCH" = CNVX ]; then
  198.     if /usr/convex/getsysinfo -f native_default; then
  199.         ARCH=CNVXN
  200.     fi
  201. fi
  202. if [ "$ARCH" = PMAX -a -d /usr/maspar ]; then ARCH=MASPAR; fi
  203. if [ "$ARCH" = RS6K ]; then
  204.     case "$os,$ov" in
  205.     AIX*,4 )    nproc="`/usr/sbin/lsdev -C -c processor | wc -l`"
  206.             if [ $nproc -gt 1 -a "$PVM_SHMEM" = ON ]; then 
  207.                 ARCH=AIX4MP;
  208.             else
  209.                 ARCH=AIX46K;
  210.             fi ;;
  211.     esac
  212. fi
  213. if [ "$ARCH" = HPPA -a -f /bin/sysinfo ]; then ARCH=CSPP; fi
  214. if [ "$ARCH" = HPPA ]; then
  215.     nproc="`/usr/bin/vmstat -n | wc -l`"
  216.     if [ $nproc -gt 8 -a "$PVM_SHMEM" = ON ];
  217.         then ARCH=HPPAMP;
  218.     fi
  219. fi
  220. #
  221. # ugh, done.
  222. #
  223.  
  224. echo $ARCH
  225. exit
  226.  
  227.